| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Classes | Enumerations
nkWinUi Namespace Reference

Encompasses all API of component NilkinsWinUi. More...

## Classes
class | AlignmentUtils
| Holds static utility functions to interact with the ALIGNMENT enum class values. More...
class | Button
| A graphical button. More...
struct | ChangeEventData
| Data holder for a change event. More...
struct | CharEventData
| Data holder for a char event. More...
class | CheckBox
| A graphical check box. More...
struct | ClickEventData
| Data holder for a click event. More...
class | Clipboard
| Abstracts the system clipboard. More...
class | Color
| Represents a color, with 4 channels. More...
class | ComboBox
| A graphical combo box. More...
class | Component
| Base class for any graphical component. More...
class | ComponentManager
| Manages the components within nkWinUi. More...
class | ComponentUtils
| Offers many utilities to deal with the components, specialized for its windowing system. More...
class | ContentLoader
| Allows to export and import content through their declaration files. More...
class | ContextMenu
| A graphical context menu. More...
class | Cursor
| WIP. More...
class | CursorManager
| Manages the recorded cursors living in the component. More...
class | CursorUtils
| A utility class to interact with the cursor. More...
class | EditBox
| A graphical single line edit box. More...
class | FileExplorer
| A graphical file explorer. More...
class | Font
| Offers an interface to work with fonts. More...
class | FontManager
| Manages the recorded fonts [WIP]. More...
class | FontUtils
| Offers utility features to work with fonts. More...
class | GridLayout
| Implements a layout organizing children components in a grid. More...
class | GroupBox
| A graphical group box. More...
struct | HandledEventData
| Data holder for a handled event. More...
class | Image
| Abstracts an image to be used within the component. More...
class | ImageDisplay
| Allows to display an image in the Ui. More...
class | ImageManager
| Manages the images in the component. More...
class | InputDescriptor
| Describes an input event. More...
class | InputSystem
| Input system, centralizing default behaviour for the input. More...
struct | KeyEventData
| Data holder for a key event. More...
class | Layout
| Represents a layout to organize children of a component. More...
class | ListBox
| A graphical list box. More...
class | LogManager
| Responsible for logging all messages from the component. More...
class | LogWin
| A graphical log window, where lines can be added like a console log. More...
struct | MouseMoveEventData
| Data holder for a mouse move event. More...
class | MultiLineEdit
| A graphical multi line edit box. More...
struct | NotificationPositionDescriptor
| Describes the position constraints a notification or popup should satisfy. More...
class | Notificator
| Gather notification and popup related functions. More...
struct | PopupCustomDescriptor
| Describes how a custom popup should behave. More...
struct | PopupYesNoDescriptor
| Describes the behaviour a yes / no popup should have. More...
class | ProgressBar
| WIP. More...
class | RelativeLayout
| Implements a layout positioning its children components relative to each other. More...
class | RelativePositionUtils
| Holds static utility functions to interact with the RELATIVE_POSITION enum class values. More...
class | ScrollBar
| A graphical scroll bar. More...
class | Slider
| A graphical slider. More...
class | Static
| A graphical static text zone. More...
class | StructToString
| Offers utilities to convert from structures or enums to strings, and vice versa. More...
class | System
| The main system of the component. More...
class | TabWindow
| A graphical tab window. More...
class | Theme
| A theme used to style the windows in the component. More...
struct | ThemeColors
| Information about all the colors a theme will need. More...
class | ThemeManager
| Manages the themes within the component. More...
class | ToolBar
| A ToolBar in which items can be added to offer different capabilities. More...
class | TreeView
| A graphical tree view window. More...
struct | WheelEventData
| Data holder for a wheel event. More...
class | Window
| A graphical window, made for general purpose. More...
class | WindowingSystem
| Class abstracting the windowing system used. More...

## Enumerations
enum | COMPONENT_TYPE : unsigned int { COMPONENT_TYPE::BUTTON = 0, COMPONENT_TYPE::CHECK_BOX, COMPONENT_TYPE::COMBO_BOX, COMPONENT_TYPE::CONTEXT_MENU, COMPONENT_TYPE::EDIT_BOX, COMPONENT_TYPE::FILE_EXPLORER, COMPONENT_TYPE::GROUP_BOX, COMPONENT_TYPE::IMAGE_DISPLAY, COMPONENT_TYPE::LIST_BOX, COMPONENT_TYPE::LOG_WIN, COMPONENT_TYPE::MULTI_LINE_EDIT, COMPONENT_TYPE::PROGRESS_BAR, COMPONENT_TYPE::SCROLL_BAR, COMPONENT_TYPE::SLIDER, COMPONENT_TYPE::STATIC, COMPONENT_TYPE::TAB_WIN, COMPONENT_TYPE::TOOL_BAR, COMPONENT_TYPE::TREE_VIEW, COMPONENT_TYPE::WINDOW }
| Available component types. More...
enum | IMAGE_DISPLAY_METHOD { IMAGE_DISPLAY_METHOD::STRETCH = 0, IMAGE_DISPLAY_METHOD::KEEP_RATIO }
| The available image display methods. More...
enum | SLIDER_DIRECTION { SLIDER_DIRECTION::AUTOMATIC = 0, SLIDER_DIRECTION::LEFT_TO_RIGHT, SLIDER_DIRECTION::RIGHT_TO_LEFT, SLIDER_DIRECTION::TOP_TO_BOTTOM, SLIDER_DIRECTION::BOTTOM_TO_TOP }
| Lists possible slider directions. More...
enum | ALIGNMENT { ALIGNMENT::TOP_LEFT = 0, ALIGNMENT::CENTER, ALIGNMENT::BOTTOM_RIGHT }
| Possible alignment values, interpretable by components depending on their behavior. More...
enum | BORDER_KIND { BORDER_KIND::TOP = 0, BORDER_KIND::LEFT, BORDER_KIND::BOTTOM, BORDER_KIND::RIGHT }
| Lists borders kind around components. More...
enum | RELATIVE_POSITION { RELATIVE_POSITION::UNKNOWN = 0, RELATIVE_POSITION::LEFT, RELATIVE_POSITION::RIGHT, RELATIVE_POSITION::TOP, RELATIVE_POSITION::BOTTOM, RELATIVE_POSITION::TOP_LEFT, RELATIVE_POSITION::TOP_RIGHT, RELATIVE_POSITION::BOTTOM_LEFT, RELATIVE_POSITION::BOTTOM_RIGHT }
| Possible relative positions of components. More...
enum | FONT_ANTI_ALIASING_QUALITY { FONT_ANTI_ALIASING_QUALITY::NONE = 0, FONT_ANTI_ALIASING_QUALITY::ANTI_ALIAS_BLEND, FONT_ANTI_ALIASING_QUALITY::SUB_PIXEL_BLEND }
| Lists the available font anti-aliasing quality level supported. More...
enum | CHANGE_TYPE { CHANGE_TYPE::CHANGE_UNKNOWN = 0, CHANGE_TYPE::CHANGE_TEXT = 1, CHANGE_TYPE::CHANGE_NEW_UNDO = 2, CHANGE_TYPE::CHANGE_NEW_REDO = 4 }
| Describes a change nature. More...
enum | EVENT_TYPE { EVENT_TYPE::EVENT_UNKNOWN = 0, EVENT_TYPE::EVENT_MOUSE_CLICK, EVENT_TYPE::EVENT_MOUSE_MOVE, EVENT_TYPE::EVENT_MOUSE_WHEEL, EVENT_TYPE::EVENT_KEY }
| Represents an event type. More...
enum | MOUSE_BUTTON { MOUSE_BUTTON::MOUSE_LEFT = 0x0001, MOUSE_BUTTON::MOUSE_MIDDLE = 0x0010, MOUSE_BUTTON::MOUSE_RIGHT = 0x0002, MOUSE_BUTTON::MOUSE_X1 = 0x0020, MOUSE_BUTTON::MOUSE_X2 = 0x0040 }
| A mouse button identifier. More...
enum | KEY_CODE { KEY_CODE::KEY_UNKNOWN = 0, KEY_CODE::KEY_BACKSPACE = 0x08, KEY_TAB, KEY_CLEAR = 0x0C, KEY_CODE::KEY_RETURN, KEY_SHIFT = 0x10, KEY_CONTROL, KEY_MENU, KEY_PAUSE, KEY_CAPITAL, KEY_KANA, KEY_KANJI = 0x19, KEY_ESCAPE = 0x1B, KEY_SPACE = 0x20, KEY_UP_PAGE, KEY_DOWN_PAGE, KEY_END, KEY_HOME, KEY_LEFT, KEY_UP, KEY_RIGHT, KEY_DOWN, KEY_SELECT, KEY_PRINT, KEY_EXEC, KEY_PRINT_SCREEN, KEY_INSERT, KEY_DEL, KEY_HELP, KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_A = 0x41, KEY_B, KEY_C, KEY_D, KEY_E, KEY_F, KEY_G, KEY_H, KEY_I, KEY_J, KEY_K, KEY_L, KEY_M, KEY_N, KEY_O, KEY_P, KEY_Q, KEY_R, KEY_S, KEY_T, KEY_U, KEY_V, KEY_W, KEY_X, KEY_Y, KEY_Z, KEY_LEFT_WINDOWS, KEY_RIGHT_WINDOWS, KEY_APPS, KEY_SLEEP = 0x5F, KEY_0_NUMPAD, KEY_1_NUMPAD, KEY_2_NUMPAD, KEY_3_NUMPAD, KEY_4_NUMPAD, KEY_5_NUMPAD, KEY_6_NUMPAD, KEY_7_NUMPAD, KEY_8_NUMPAD, KEY_9_NUMPAD, KEY_MULT, KEY_ADD, KEY_SEPARATOR, KEY_SUBSTRACT, KEY_DECIMAL, KEY_DIVIDE, KEY_F1 }
| A key code identifier. More...
enum | LAYOUT_TYPE { LAYOUT_TYPE::UNKNOWN = 0, LAYOUT_TYPE::GRID, LAYOUT_TYPE::RELATIVE }
| Defines the type of layout available. More...
enum | SYSTEM_TYPE { SYSTEM_TYPE::UNKNOWN = 0, SYSTEM_TYPE::WIN_API }
| Windowing system types available and supported. More...

## Detailed Description

Encompasses all API of component NilkinsWinUi.

This component offers capabilities to create and populate windows from the system UI. Note that currently, only supported system is Windows through the WinAPI.

To start with the component, first take a look at the nkWinUi::System to trigger all required initialization steps. Then, check the nkWinUi::ComponentManager to start creating nkWinUi::Component to interact with. Don't forget to check available nkWinUi::Layout to help with components composition.

## Enumeration Type Documentation

## ◆ COMPONENT_TYPE

enum nkWinUi::COMPONENT_TYPE : unsigned int
| strong

Available component types.

Enumerator
BUTTON | A Button.
CHECK_BOX | A CheckBox.
COMBO_BOX | A ComboBox.
CONTEXT_MENU | A ContextMenu.
EDIT_BOX | An EditBox.
FILE_EXPLORER | A FileExplorer.
GROUP_BOX | A GroupBox.
IMAGE_DISPLAY | An ImageDisplay.
LIST_BOX | A ListBox.
LOG_WIN | A LogWin.
MULTI_LINE_EDIT | A MultiLineEdit.
PROGRESS_BAR | A ProgressBar.
SCROLL_BAR | A ScrollBar.
SLIDER | A Slider.
STATIC | A Static.
TAB_WIN | A TabWindow.
TOOL_BAR | A ToolBar.
TREE_VIEW | A TreeView.
WINDOW | A Window.

## ◆ IMAGE_DISPLAY_METHOD

enum nkWinUi::IMAGE_DISPLAY_METHOD
| strong

The available image display methods.

Enumerator
STRETCH | Will stretch to image to fit the component's size.
KEEP_RATIO | Will keep the image's ratio and dimensions to display within the component.

## ◆ SLIDER_DIRECTION

enum nkWinUi::SLIDER_DIRECTION
| strong

Lists possible slider directions.

Enumerator
AUTOMATIC | Automatic direction, adapting to the size of the component. Left to right if wider, bottom to top if higher.
LEFT_TO_RIGHT | Left to right direction.
RIGHT_TO_LEFT | Right to left direction.
TOP_TO_BOTTOM | Top to bottom direction.
BOTTOM_TO_TOP | Bottom to top direction.

## ◆ ALIGNMENT

enum nkWinUi::ALIGNMENT
| strong

Possible alignment values, interpretable by components depending on their behavior.

Enumerator
TOP_LEFT | Aligned left or top.
CENTER | Aligned in the center.
BOTTOM_RIGHT | Aligned right or bottom.

## ◆ BORDER_KIND

enum nkWinUi::BORDER_KIND
| strong

Lists borders kind around components.

Enumerator
TOP | Top border of a component.
LEFT | Left border of a component.
BOTTOM | Bottom border of a component.
RIGHT | Right border of a component.

## ◆ RELATIVE_POSITION

enum nkWinUi::RELATIVE_POSITION
| strong

Possible relative positions of components.

Enumerator
UNKNOWN | Unknown.
LEFT | Left position.
RIGHT | Right position.
TOP | Top position.
BOTTOM | Bottom position.
TOP_LEFT | Top-left position.
TOP_RIGHT | Top-right position.
BOTTOM_LEFT | Bottom-left position.
BOTTOM_RIGHT | Bottom-right position.

## ◆ FONT_ANTI_ALIASING_QUALITY

enum nkWinUi::FONT_ANTI_ALIASING_QUALITY
| strong

Lists the available font anti-aliasing quality level supported.

Enumerator
NONE | No anti-aliasing should be used.
ANTI_ALIAS_BLEND | Anti-aliasing should be made using simple blending with the background color.
SUB_PIXEL_BLEND | Anti-aliasing should be made using sub-pixel blending, also named ClearType.

## ◆ CHANGE_TYPE

enum nkWinUi::CHANGE_TYPE
| strong

Describes a change nature.

Enumerator
CHANGE_UNKNOWN | Unknown place holder change.
CHANGE_TEXT | A change in text.
CHANGE_NEW_UNDO | An undo change.
CHANGE_NEW_REDO | A redo change.

## ◆ EVENT_TYPE

enum nkWinUi::EVENT_TYPE
| strong

Represents an event type.

Enumerator
EVENT_UNKNOWN | Unknown place holder.
EVENT_MOUSE_CLICK | A mouse click.
EVENT_MOUSE_MOVE | A mouse move.
EVENT_MOUSE_WHEEL | A mouse wheel.
EVENT_KEY | A key press / release.

## ◆ MOUSE_BUTTON

enum nkWinUi::MOUSE_BUTTON
| strong

A mouse button identifier.

Enumerator
MOUSE_LEFT | Left mouse button.
MOUSE_MIDDLE | Middle mouse button.
MOUSE_RIGHT | Right mouse button.
MOUSE_X1 | Mouse x1 button. Often taken as "previous" button.
MOUSE_X2 | Mouse x2 button. Often taken as "next" button.

## ◆ KEY_CODE

enum nkWinUi::KEY_CODE
| strong

A key code identifier.

Based on Microsoft API key codes.

Enumerator
KEY_UNKNOWN | Unknown place holder. Unseen in Microsoft API.
KEY_BACKSPACE | Backspace (erase) key.
KEY_RETURN | Return (enter) key.

## ◆ LAYOUT_TYPE

enum nkWinUi::LAYOUT_TYPE
| strong

Defines the type of layout available.

Enumerator
UNKNOWN | A Layout whose type is unknown. Should never be encountered.
GRID | A grid layout.
RELATIVE | A relative layout.

## ◆ SYSTEM_TYPE

enum nkWinUi::SYSTEM_TYPE
| strong

Windowing system types available and supported.

Enumerator
UNKNOWN | Unknown.
WIN_API | Using the Windows API.